package com.softeem.springboot04.vo;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 统一返回结果
 */
@Data
@Accessors(chain = true) //开启链式编程
public class R {

    //状态码 0-成功
    private Integer code;
    //执行结果是否成功
    private Boolean success;
    //附加返回文本信息，例如：“账号不存在”
    private String msg;
    //附加返回的数据信息，例如：数据列表
    private Object data;
    //总记录条数
    private long count;

    /**
     * 统一成功返回结果集
     * @return
     */
    public static R ok(){
        R r = new R();
        r.code = 0;
        r.msg = "执行成功";
        r.success=true;
        return r;
    }

    /**
     * 统一失败返回结果集
     * @return
     */
    public static R fail(){
        R r = new R();
        r.code = -1;
        r.msg = "执行失败";
        r.success=false;
        return r;
    }

//    public R code(Integer code){
//        this.code = code;
//        return this;
//    }
//
//    public R success(Boolean success){
//        this.success = success;
//        return this;
//    }
//
//    public R msg(String msg){
//        this.msg = msg;
//        return this;
//    }
//
//    public R data(Object data){
//        this.data = data;
//        return this;
//    }

}
